import typescript from 'rollup-plugin-typescript2';
import commonjs from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import postcss from 'rollup-plugin-postcss';

export default {
  input: 'src/index.ts', // 入口文件
  output: [
    {
      file: 'dist/index.js', // CommonJS格式输出
      format: 'cjs',
      sourcemap: true,
    },
    {
      file: 'dist/index.esm.js', // ES模块格式输出
      format: 'esm',
      sourcemap: true,
    },
  ],
  plugins: [
    peerDepsExternal(), // 自动将peerDependencies外部化
    resolve(), // 解析node_modules中的模块
    commonjs(), // 将CommonJS模块转换为ES6
    typescript({
      tsconfig: './tsconfig.json',
      useTsconfigDeclarationDir: true,
    }), // TypeScript支持
    postcss({
      modules: false, // 不使用CSS模块
      extract: true, // 提取CSS到单独文件
    }), // 处理CSS
  ],
};